1. Field of the Invention
The present invention relates to a color correcting method and apparatus and a system incorporating such an apparatus along with other color image equipment.
2. Description of the Related Art
In a color imaging system including a color printer and video monitor, it is desirable that an original color image appear the same whether displayed by the monitor or printed by the printer. Accordingly, color correction must be performed to convert an image to the appropriate format and to account for color characteristics of the particular image input or output device.
A color printer, for example, converts the luminance signals (R, G, B) of the three primary colors (red, green, blue) (hereinafter the "RGB luminance signals") of an original image, obtained through a color separation color scanner, into the main density signals (C, M, Y) of the inks of the three primary colors (cyan, magenta, yellow) (hereinafter the "CMY main density signals"). Color correction is then performed to enhance the reproducibility of the colors and optimize the conversion. Specifically, color correction is accomplished by printing a plurality of color patches of known colors and comparing the colors of the color patches read through a color scanner with the known colors.
FIG. 46 is a block diagram showing a color correction parameter determining apparatus which has been disclosed, for example, in Japanese Patent Laid-Open No. 5-183742.
In FIG. 46, a color storing unit 100 stores a plurality of combinations of the CMY main density signals in a color zone; wherein each combination of the CMY main density signals represents a color. A color printing unit 102 prints, in the form of color patch prints, the colors corresponding to the CMY main density signal combinations stored in the color storing unit 100. A color reading unit 104 images the color patch prints in terms of the RGB luminance signals.
A color conversion parameter storing unit 106 stores the parameters for color conversion. An inverse color converting unit 108 determines inverse functions for non-linear color conversion in accordance with the parameter stored in the color conversion parameter storing unit 106, and converts the CMY main color density signals stored in the color storing unit 100 into the RGB luminance signals by using the inverse non-linear color conversion function.
A color correction coefficient calculating unit 110 calculates color correction coefficients by performing matrix computations so that the RGB luminance signals from the color reading unit 104 coincide with the three primary color luminance signals R0, G0, B0 from the inverse color converting unit 108. A color correction coefficient storing unit 112 stores the color correction coefficients obtained by the color correction coefficient calculating unit 110. A matrix operation unit 114 performs a matrix operation according to the color correction coefficients stored in the color correction coefficient storing unit 112 and the RGB luminance signals from the color reading unit 104.
A color converting unit 116 calculates the approximate value C'M'Y' of the three primary ink color main density signals by non-linearly converting the calculated values given by the matrix operation unit 114 in accordance with the parameters of the non-linear functions stored in the color conversion parameter storing unit 106. An evaluation value calculating unit 118 evaluates the chrominance between the CMY main density signals from the color storing unit 100 and the approximate value C'M'Y' of the three primary ink color main density signals from the color converting unit 116 so as to calculate the chrominance as an evaluation value. A control unit 120 determines whether the evaluation value received from the evaluation value calculating unit 118 has been minimized, and updates the stored value in the color conversion parameter storing unit 106 if the evaluation value has not been minimized so as to converge the evaluation value.
The operation of the apparatus illustrated in FIG. 46 will now be described. The color conversion parameter converting unit 106 stores the parameters of the non-linear functions and the inverse non-linear functions, which are the inverse functions of the former. Some examples of the nonlinear functions are shown below: EQU C=Cmax(1-(R/Rmax).sup..gamma.) EQU M=Mmax(1-(G/Gmax).sup..gamma.) (1) EQU Y=Ymax(1-(B/Bmax).sup..gamma.)
These functions are used for converting RGB to CMY where ".gamma." (gamma) is the functional parameter in this case; Cmax, Mmax, and Ymax are the maximum values of the CMY main density signals; and Rmax, Gmax, and Bmax are the maximum values of the RGB luminance signals. The inverses of the functions in expression (1) are given by expression (2): EQU R=Rmax(1-(C/Cmax).sup..gamma.) EQU G=Gmax(1-(M/Mmax).sup..gamma.) (2) EQU B=Bmax(1-(Y/Ymax).sup..gamma.)
The function parameter is stored in the nonlinear conversion parameter storing unit 106. The inverse color converting unit 108 converts the CMY main density signals stored in the color storing unit 100 into the three primary color luminance signals R.sub.0 G.sub.0 B.sub.0 by using expression (2) with .gamma., which has been stored in the color conversion parameter storing unit 106, as the function parameter.
The color correction coefficient calculating unit 110 calculates a color correction coefficient {a.sub.ij } which makes the RGB luminance signals given by the color reading unit 104 coincide with R.sub.0 G.sub.0 B.sub.0 luminance signals given by the inverse color converting unit 108 by using the publicly known least squares method. The calculated color correction coefficient is then stored in the color correction coefficient storing unit 112.
The matrix operation unit 114 performs the matrix calculation on the RGB luminance signals issued by the color reading unit 104 by using expression (3) wherein the color correction coefficient {a.sub.ij } stored in the color correction coefficient storing unit 112 is used as the function parameter. ##EQU1##
The color converting unit 116 performs the arithmetic operations on the calculated value given by the matrix operation unit 114 by using expression (1) wherein the value .gamma. stored in the color conversion parameter storing unit 106 is used as the function parameter; thereby calculating the approximate values C'M'Y' of the three primary ink color main density signals stored in the color storing unit 100.
The evaluation value calculating unit 118 carries out the following operation: supplies the CMY main density signals stored in the color storing unit 100 and the C'M'Y' main density signals given by the color converting unit 116 to the printer for color correction so as to perform printing; and measures the color shown on the print which corresponds to the CMY main density signal using a widely known calorimeter to obtain chromaticity XYZ. Chromaticity XYZ is then converted to a coordinate value (L*,a*,b*) of a uniform color space by using a publicly known relational expression XYZ-L*a*b*. Likewise, a coordinate value (L*',a*',b*') of the uniform color space corresponding to the C'M'Y' main density signal is obtained. The evaluation value calculating unit 118 calculates the chrominance between (L*,a*,b*) and (L*',a*',b*') from expression (4): EQU .DELTA.La*,b*={(L.-L..sup.1).sup.2 +(a.-a..sup.1).sup.2 +(b.-b..sup.1).sup.2 }.sup.1/2 (4)
The evaluation value calculating unit then calculates the evaluation value as the mean value of the chrominances between the colors based on all the CMY main density signals stored in the color storing unit 100 and the corresponding C'M'Y' main density signals of the color converting unit 116.
The control unit 120 receives the evaluation value calculated by the evaluation value calculating unit 118, and updates the function parameter stored in the color conversion parameter storing unit 106 using the widely known non-linear mathematical programming technique to minimize the evaluation value. As soon as the control unit 120 determines that the evaluation value has been minimized, the control unit 120 decides, as the optimum color correction parameters, color correction coefficient {a.sub.ij } stored in the color correction coefficient storing unit 112 and function parameter .gamma. stored in the color conversion parameter storing unit 106.
FIG. 47 is a block diagram showing an apparatus for adjusting hue, chrominance, and luminance of a video signal using matrix circuits disclosed in U.S. Pat. No. 5,333,070.
In FIG. 47, a Y/C separating circuit 122 separates a video signal into a luminance signal Y and a color signal C. A decoder 124 converts the luminance signal Y and the color signal C into the three primary color signals R, G, and B. Matrix (3 lines by 3 columns) circuits 126, 128, and 130 perform color correction. An A/D converter 132 analog-to-digital converts a color-corrected signal output by the matrix circuit 130, and a frame memory stores the digitized signal. A ROM 136 performs .gamma. conversion, and the output of ROM 136 is used to control the head of a printer 138. Further, an adjusting circuit 140 adjusts the coefficient used in the matrix circuit 128.
The operation of the apparatus illustrated in FIG. 47 will now be described. In this example, the operation of the 3-line-by-3-column matrix circuits 126, 128, and 130 for implementing color correction will be described in detail.
First, the matrix circuit 126 converts a received signal from an RGB coordinate system to an SfY coordinate system, where the SfY coordinate system is a coordinate system constituted by a flesh color axis S, a green color axis f, and a luminance axis Y. If the matrix of the matrix circuit 126 is taken as M.sub.n, then matrix M.sub.n is determined as shown in expression (5) in relation to the colors of flesh color C1 and green C2. ##EQU2##
Then, the matrix circuit 128 performs color adjustment using the SfY coordinate system and issues a signal represented by the SfY coordinate system. If the matrix of the matrix circuit 128 is taken as M.sub.h, then M.sub.h is given by expression (6) below. ##EQU3##
In this example, the third column of matrix Mh is (0, 0, 1). This is to keep the luminance of an achromatic color signal intact. When the third column of matrix M.sub.h is (0, 0, 1), the role of each matrix element is as shown below:
h11&lt;1.0 Decreases the chroma of C1 PA0 h11&gt;1.0 Increases the chroma of C1 PA0 h21&lt;0 changes Hue in the direction of C1-f axis PA0 h21&gt;0 changes Hue in the direction of C1+f axis PA0 h31&lt;0 Decreases the luminance of C1 PA0 h31&gt;0 Increases the luminance of C1 PA0 h12&lt;0 changes Hue in the direction of C2-S axis PA0 h12&gt;0 changes Hue in the direction of C2+S axis PA0 h22&lt;1.0 Decreases the chroma of C2 PA0 h22&gt;1.0 Increases the chroma of C2 PA0 h32&lt;0 Decreases the luminance of C2 PA0 h32&gt;0 Increases the luminance of C2
The coefficient of matrix M.sub.h is decided according to the instructions given by the adjusting circuit 140, taking the roles shown above into consideration.
Then, the matrix circuit 130 converts a received signal from the SfY coordinate system to the RGB coordinate system. The matrix used for this purpose is the inverse matrix of matrix M.sub.n.
The processing steps implemented in sequence by matrix circuits 126, 128, and 130 as stated above perform the color adjustment.
In the color correction parameter deciding apparatus shown in FIG. 46, the parameters are optimized by the least squares method for the combinations of main density signals CMY stored in the color storing unit 100. However, the parameters are not always optimized for combinations of main density signals CMY not stored in the color storing unit 100; therefore, proper printing results cannot be ensured. Consequently, this conventional color correction parameter deciding apparatus hardly ever performs adjustment on CMY main density signals which have not been previously stored.
Additionally, even if the apparatus of FIG. 46 performed adjustment, there is no guarantee that a proper chromatic balance would be achieved after adjustment. For example, after adjustment, a color which should be achromatic ends up tinted, producing an image which looks reddish as a whole.
Further, the apparatus of FIG. 46 minimizes the color correction coefficient and the color conversion parameter for the combination of a specific printer and a specific scanner. Consequently, the color correction coefficient and the color conversion parameter must be optimized again whenever the combination of the printer and the scanner changes.
The apparatus for adjusting hue, chrominance, and luminance of a video signal using matrix shown in FIG. 47 also has its share of drawbacks as well. For instance, this apparatus can only be used under the condition wherein the SfY coordinate system is used and the elements of the third column of the matrix M.sub.n are fixed.
Furthermore, changing the luminance of an achromatic color signal requires adjusting the third column of the matrix; however, as discussed above the apparatus of FIG. 47 does not perform any such adjustment.
The apparatus of FIG. 47 also takes a long time to perform color correction processing since the apparatus requires several coordinate conversions to obtain color adjustment.